package cn.wolfcode.wolf2w.service;

import cn.wolfcode.wolf2w.domain.Strategy;
import cn.wolfcode.wolf2w.domain.Travel;
import cn.wolfcode.wolf2w.domain.UserInfo;
import cn.wolfcode.wolf2w.query.TravelQueryObject;
import org.springframework.data.domain.Page;

import java.util.List;

public interface ITravelService {

    void save(Travel travel);

    void delete(String id);

    void update(Travel travel);

    Travel find(String id);

    List<Travel> findAll();

    /**
     * 分页查询Travel
     * @param qo
     * @return
     */
    Page query(TravelQueryObject qo);

    /**
     * 改变指定id的状态
     * @param travel
     */
    void changeState(Travel travel);

    /**
     * 根据id查文章内容
     * @param id
     * @return
     */
    String getContentById(String id);

    /**
     * 查询排行前三的游记
     * @param destId
     * @return
     */
    List<Travel> viewnumTop3(String destId);

    /**
     * 保存和更新
     * @param travel
     */
    String saveOrUpdate(Travel travel,UserInfo userInfo);

    /**
     * 通过目的地名找游记列表
     * @param keyword
     * @return
     */
    List<Travel> findByDestName(String keyword);
}
